home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / info / tm-edit-en.info.z / tm-edit-en.info
Encoding:
GNU Info File  |  1998-05-21  |  15.5 KB  |  530 lines

  1. This is Info file ../../info/tm-edit-en.info, produced by Makeinfo
  2. version 1.68 from the input file tm-edit-en.texi.
  3.  
  4. 
  5. File: tm-edit-en.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
  6.  
  7. tm-edit 7.100 Reference Manual (English Version)
  8. ************************************************
  9.  
  10.    This file documents tm-edit, a MIME composer for GNU Emacs.
  11.  
  12. * Menu:
  13.  
  14. * Introduction::                What is tm-edit?
  15. * mime/editor-mode::
  16. * single-part operations::
  17. * enclosure operation::
  18. * other operations of mime/editor-mode::
  19. * tag specification for inserted file::  Default media-type or encoding for inserted file
  20. * transfer level::
  21. * header::                      Using non-ASCII characters in header
  22. * PGP::
  23. * Acknowledgments::
  24. * Concept Index::
  25. * Function Index::
  26. * Variable Index::
  27.  
  28. 
  29. File: tm-edit-en.info,  Node: Introduction,  Next: mime/editor-mode,  Prev: Top,  Up: Top
  30.  
  31. What is tm-edit?
  32. ****************
  33.  
  34.    *tm-edit* is a general MIME composer for GNU Emacs.
  35.  
  36.    tm-edit is based on mime.el by UMEDA Masanobu
  37. <umerin@mse.kyutech.ac.jp>, who is famous as the author of GNUS.
  38. tm-edit expands following points from `mime.el':
  39.  
  40.    * based on RFC 1521/1522
  41.  
  42.    * Content-Disposition field (*Note (tm-en)Content-Disposition::)
  43.      (RFC 1806) supports
  44.  
  45.    * nested multi-part message (*Note (tm-en)multipart::)
  46.  
  47.    * PGP (*Note PGP::) (PGP/MIME (RFC 2015) based on security multipart
  48.      (RFC 1847) and application/pgp based on traditional PGP)
  49.  
  50.    * strength automatic specification for parameter of file type
  51.  
  52.    In tm-MUA (*Note (tm-en)tm-MUA::), you can edit MIME message easily
  53. to use tm-edit.
  54.  
  55. 
  56. File: tm-edit-en.info,  Node: mime/editor-mode,  Next: single-part operations,  Prev: Introduction,  Up: Top
  57.  
  58. mime/editor-mode
  59. ****************
  60.  
  61.    *mime/editor-mode* is a minor mode to compose MIME message.  In this
  62. mode, *tag* represents various kinds of data, you can edit multi part
  63. (*Note (tm-en)multipart::) message.
  64.  
  65.    There are 2 kinds of tags:
  66.  
  67.    *  single-part tag
  68.  
  69.    *  multi-part tag
  70.  
  71.    single-part tag represents single part, this form is following:
  72.  
  73.              --[[TYPE/SUBTYPE;PARAMETERS][ENCODING]
  74.              OPTIONAL-FIELDS]
  75.  
  76.    TYPE/SUBTYPE and PARAMETERS indicates type/subtype and parameters of
  77. Content-Type field (*Note (tm-en)Content-Type field::).  TYPE/SUBTYPE is
  78. required, PARAMETERS is optional.
  79.  
  80.    ENCODING indicates Content-Transfer-Encoding field.  It is optional
  81. too.
  82.  
  83.    OPTIONAL-FIELDS is to represent another fields except Content-Type
  84. field and Content-Transfer-Encoding field.
  85.  
  86.    multi-part tags represent multi part (*Note (tm-en)multipart::).
  87. They consist of a pair of *multi-part beginning tag* and *multi-part
  88. ending tag*.
  89.  
  90.    multi-part beginning tag's form is following:
  91.  
  92.              --<<TYPE>>-{
  93.  
  94.    multi-part ending tag's form is following:
  95.  
  96.              --}-<<TYPE>>
  97.  
  98.    A region from multi-part beginning tag to multi-part ending tag is
  99. called as *enclosure*.
  100.  
  101. 
  102. File: tm-edit-en.info,  Node: single-part operations,  Next: enclosure operation,  Prev: mime/editor-mode,  Up: Top
  103.  
  104. single-part operations
  105. **********************
  106.  
  107.    Operations to make single-part are following:
  108.  
  109. `<C-c C-x C-t>'
  110.      Insert single-part tag indicates text part.
  111.  
  112. `<C-c C-x C-i>'
  113.      Insert file as a MIME attachment.  If `C-u' is followed by it, it
  114.      asks media-type, subtype or encoding even if their default values
  115.      are specified. (cf. *Note tag specification for inserted file::)
  116.  
  117. `<C-c C-x C-e>'
  118.      Insert external part.
  119.  
  120. `<C-c C-x C-v>'
  121.      Record audio input until `C-g' is pressed, and insert as a audio
  122.      part. (It requires /dev/audio in default.)
  123.  
  124. `<C-c C-x C-y>'
  125.      Insert current (mail or news) message. (It is MUA depended.)
  126.  
  127. `<C-c C-x C-m>'
  128.      Insert mail message. (It is MUA depended.)
  129.  
  130. `<C-c C-x C-w>, <C-c C-x C-s>'
  131.      Insert signature.
  132.  
  133. `<C-c C-x C-k>'
  134.      Insert PGP (*Note PGP::) public key. (It requires Mailcrypt
  135.      package.)
  136.  
  137. `<C-c C-x t>'
  138.      Insert any single-part tag.
  139.  
  140. 
  141. File: tm-edit-en.info,  Node: enclosure operation,  Next: other operations of mime/editor-mode,  Prev: single-part operations,  Up: Top
  142.  
  143. enclosure operation
  144. *******************
  145.  
  146.    Operations to make enclosure are following:
  147.  
  148. `<C-c C-x a>'
  149.      Enclose specified region as multipart/alternative.
  150.  
  151. `<C-c C-x p>'
  152.      Enclose specified region as multipart/parallel.
  153.  
  154. `<C-c C-x m>'
  155.      Enclose specified region as multipart/mixed.
  156.  
  157. `<C-c C-x d>'
  158.      Enclose specified region as multipart/digest.
  159.  
  160. `<C-c C-x s>'
  161.      Digital-sign to specified region. (cf. *Note PGP::)
  162.  
  163. `<C-c C-x e>'
  164.      Encrypt to specified region. (cf. *Note PGP::)
  165.  
  166. `<C-c C-x q>'
  167.      avoid to encode tags in specified region.  In other words, tags is
  168.      interpreted as such string.  (In current version, it may be
  169.      incomplete.  Maybe PGP-signature does not work for this enclosure.)
  170.  
  171. 
  172. File: tm-edit-en.info,  Node: other operations of mime/editor-mode,  Next: tag specification for inserted file,  Prev: enclosure operation,  Up: Top
  173.  
  174. other operations of mime/editor-mode
  175. ************************************
  176.  
  177.    There are another operations in mime/editor-mode.
  178.  
  179. `<C-c C-c>'
  180.      Send current editing message.
  181.  
  182. `<C-c C-x C-p>'
  183.      Preview current editing message. (*Note
  184.      (tm-view-en)mime/viewer-mode::)
  185.  
  186. `<C-c C-x C-z>'
  187.      Exit mime/editor-mode. (<M-x mime/edit-again> is available to
  188.      reedit.)
  189.  
  190. `<C-c C-x ?>'
  191.      Display help message.
  192.  
  193. `<C-c C-x />'
  194.      Set current editing message to enable automatic splitting or not.
  195.      Form of automatic split messages is message/partial.
  196.  
  197. `<C-c C-x 7>'
  198.      Set 7bit (*Note (tm-en)7bit::) to transfer level (*Note transfer
  199.      level::).
  200.  
  201. `<C-c C-x 8>'
  202.      Set 8bit (*Note (tm-en)8bit::) to transfer level (*Note transfer
  203.      level::).
  204.  
  205. `<C-c C-x v>'
  206.      Set current editing message to digital-sign or not. (cf. *Note
  207.      PGP::)
  208.  
  209. `<C-c C-x h>'
  210.      Set current editing message to encrypt or not. (cf. *Note PGP::)
  211.  
  212. 
  213. File: tm-edit-en.info,  Node: tag specification for inserted file,  Next: transfer level,  Prev: other operations of mime/editor-mode,  Up: Top
  214.  
  215. Default media-type or encoding for inserted file
  216. ************************************************
  217.  
  218.    When `C-c C-x C-i' (`mime-editor/insert-file') is pressed, tag
  219. parameters for inserted file, such as media-type or encoding, are
  220. detected by variable `mime-file-types'.
  221.  
  222.    When `C-u' is followed by it or parameter is not found from the
  223. variable, it asks from user.  (When `C-u' is followed by it, detected
  224. value is used as default value)
  225.  
  226.    If you want to change default value for file names, please change
  227. variable `mime-file-types'.
  228.  
  229.  - Variable: mime-file-types
  230.      Specification of default value of tag for file name of inserted
  231.      file.
  232.  
  233.      It is a list of following list:
  234.  
  235.               (FILE_PAT TYPE SUBTYPE PARAMS ENCODING
  236.                DISPOSITION_TYPE DISPOSITION_PARAMS)
  237.  
  238.      Each elements of the list are following:
  239.  
  240.     `FILE_PAT'
  241.           regular expression of file name
  242.  
  243.     `TYPE'
  244.           media type
  245.  
  246.     `SUBTYPE'
  247.           media subtype
  248.  
  249.     `PARAMS'
  250.           parameters of Content-Type field
  251.  
  252.     `ENCODING'
  253.           Content-Transfer-Encoding
  254.  
  255.     `DISPOSITION_TYPE'
  256.           disposition-type
  257.  
  258.     `DISPOSITION_PARAMS'
  259.           parameters of Content-Disposition field
  260.  
  261.      Example: Specify application/rtf as default media type for `*.rtf'
  262.  
  263.           (call-after-loaded
  264.            'tm-edit
  265.            (lambda ()
  266.              (set-alist 'mime-file-types
  267.                     "\\.rtf$"
  268.                     '("application" "rtf" nil nil
  269.                   "attachment" (("filename" . file)))
  270.                     )))
  271.  
  272. 
  273. File: tm-edit-en.info,  Node: transfer level,  Next: header,  Prev: tag specification for inserted file,  Up: Top
  274.  
  275. transfer level
  276. **************
  277.  
  278.    Contents inserted in a message are represented by 7bit (*Note
  279. (tm-en)7bit::), 8bit (*Note (tm-en)8bit::) or binary (*Note
  280. (tm-en)binary::).
  281.  
  282.    If a message is translated by 7bit-through MTA (*Note (tm-en)MTA::),
  283. there is no need to encode 7bit data, but 8bit and binary data must be
  284. encoded to 7bit data.
  285.  
  286.    Similarly, if a message is translated by 8bit-through MTA, there is
  287. no need to encode 7bit or 8bit data, but binary data must be encoded to
  288. 7bit or 8bit data.
  289.  
  290. *[Memo]*
  291.      EBCDIC MTA breaks 7bit data, so in this case, 7bit data must be
  292.      encoded by base64.  But I don't know EBCDIC. (^_^;
  293.  
  294.      Similarly, I wish ASCII-printable only MTA and code-conversion MTA
  295.      disappeared. (^_^;
  296.  
  297.      Maybe there are binary-through MTA, but I think it is not major.
  298.  
  299.    *transfer level* represents how range data is available.  tm-edit
  300. has a variable `mime-editor/transfer-level' to represent transfer level.
  301.  
  302.  - Variable: mime-editor/transfer-level
  303.      transfer level.
  304.  
  305.      If transfer level of a data is over it, a data is encoded to 7bit.
  306.  
  307.      Currently, 7 or 8 is available.  Default value is 7.
  308.  
  309.      In extension plan, EBCDIC will be 5, ASCII printable only will be
  310.      6, binary will be 9.  But it will not be implemented.
  311.  
  312. *[Memo]*
  313.      transfer level is only for body, not for header (*Note header::).
  314.      RFC 1521 extends RFC 822 (*Note (tm-en)RFC 822::) to use 8bit data
  315.      in body, but it requires to use us-ascii (*Note (tm-en)us-ascii::)
  316.      in header.
  317.  
  318. 
  319. File: tm-edit-en.info,  Node: header,  Next: PGP,  Prev: transfer level,  Up: Top
  320.  
  321. Using non-ASCII characters in header
  322. ************************************
  323.  
  324.    RFC 1522 (*Note (tm-en)RFC 1522::) defines representation of
  325. non-ASCII characters in header.
  326.  
  327.    It is a format called as *encoded-word* (*Note
  328. (tm-en)encoded-word::), it is available to represent every non-ASCII
  329. characters by 7bit (*Note (tm-en)7bit::) to declare MIME charset (*Note
  330. (tm-en)MIME charset::).
  331.  
  332. * Menu:
  333.  
  334. * evil setting in header::      If you can not allow encoded-word
  335. * API about header::            Functions and variables about header
  336.  
  337. 
  338. File: tm-edit-en.info,  Node: evil setting in header,  Next: API about header,  Prev: header,  Up: header
  339.  
  340. If you can not allow encoded-word
  341. =================================
  342.  
  343.    It is wrong to use "raw" non-ASCII characters in header not to use
  344. encoded-word.  Because there are various kinds of coded character set
  345. (*Note (tm-en)Coded character set::) in the Internet, so we can not
  346. distinguish them if MIME charset (*Note (tm-en)MIME charset::) is not
  347. declared.
  348.  
  349.    For example, we can not distinguish iso-8859-1 (*Note
  350. (tm-en)iso-8859-1::) and iso-8859-2 (*Note (tm-en)iso-8859-2::) if MIME
  351. charset is not declared.
  352.  
  353.    However you can not permit to use encoded-word, please set to
  354. following variables:
  355.  
  356.  - Variable: mime/field-encoding-method-alist
  357.      Association-list to specify field encoding method.  Its key is
  358.      field-name, value is encoding method.
  359.  
  360.      field-name allows string or `t' meaning any fields.
  361.  
  362.      Encoding method allows following: `nil' means no-conversion,
  363.      `mime' means to convert as encoded-word, symbol represent MIME
  364.      charset means to convert as the coded character set instead of to
  365.      convert as encoded-word.
  366.  
  367.      field-name is searched from string.  If it is not found, `t' is
  368.      used.
  369.  
  370.      Default value of `mime/field-encoding-method-alist' is following:
  371.  
  372.           (("X-Nsubject" . iso-2022-jp-2)
  373.            ("Newsgroups" . nil)
  374.            (t            . mime)
  375.            ))
  376.  
  377.    In addition, if you want to specify by coded character set instead of
  378. field, please use `mime-eword/charset-encoding-alist'.  (cf. *Note API
  379. about header::)
  380.  
  381. 
  382. File: tm-edit-en.info,  Node: API about header,  Prev: evil setting in header,  Up: header
  383.  
  384. Functions and variables about header
  385. ====================================
  386.  
  387.  - Command: mime/encode-message-header &optional CODE-CONVERSION
  388.      It translate non-ASCII characters in message header of current
  389.      buffer into network representation, such as encoded-words.
  390.  
  391.      If CODE-CONVERSION is non-`nil', field not encoded by encoded-word
  392.      is converted by `mime/field-encoding-method-alist'.
  393.  
  394.  - Function: mime/encode-field STRING
  395.      It encodes STRING into encoded-words as a field.
  396.  
  397.      Long lines are folded.
  398.  
  399.  - Function: mime-eword/encode-string STRING &optional COLUMN MODE
  400.      It encodes STRING into encoded-words.
  401.  
  402.      Long lines are folded.
  403.  
  404.      COLUMN specifies start column.  If it is omitted, 0 is used.
  405.  
  406.      MODE specifies where STRING is in.  Available values are `text',
  407.      `comment', `phrase'.  If it is omitted, `phrase' is used.
  408.  
  409.  - Variable: mime-eword/charset-encoding-alist
  410.      Association-list of symbol represent MIME charset vs. nil, `"B"' or
  411.      `"Q"'.
  412.  
  413.      `nil' means not to encode as encoded-word.  `"B"' means to use
  414.      B-encoding.  `"Q"' means to use Q-encoding.
  415.  
  416. 
  417. File: tm-edit-en.info,  Node: PGP,  Next: Acknowledgments,  Prev: header,  Up: Top
  418.  
  419. PGP
  420. ***
  421.  
  422.    tm-edit provides PGP encryption, signature and inserting public-key
  423. features based on *PGP/MIME* (*Note (tm-en)PGP/MIME::) (RFC 2015) or
  424. *PGP-kazu* (*Note (tm-en)PGP-kazu::) (draft-kazu-pgp-mime-00.txt).
  425.  
  426.    This feature requires pgp command and Mailcrypt package (*Note
  427. (mailcrypt)::).
  428.  
  429.    If you want to use this feature, please set `pgp-elkins' or
  430. `pgp-kazu' to variable `mimed-editor/signing-type' and variable
  431. `mime-editor/encrypting-type'.
  432.  
  433.    If `pgp-elkins' is specified, PGP/MIME is used.  If `pgp-kazu' is
  434. specified, PGP-kazu is used.
  435.  
  436.  - Variable: mime-editor/signing-type
  437.      Format of PGP signature.
  438.  
  439.      It allows `pgp-elkins' or `pgp-kazu'.
  440.  
  441.      Default value is `nil'.
  442.  
  443.  - Variable: mime-editor/encrypting-type
  444.      Format of PGP encryption.
  445.  
  446.      It allows `pgp-elkins' or `pgp-kazu'.
  447.  
  448.      Default value is `nil'.
  449.  
  450. 
  451. File: tm-edit-en.info,  Node: Acknowledgments,  Next: Concept Index,  Prev: PGP,  Up: Top
  452.  
  453. Acknowledgments
  454. ***************
  455.  
  456.    First of all, I thank UMEDA Masanobu for his work of `mime.el',
  457. which is the origin of tm-edit, and permission to rewrite his work as
  458. tm-edit.
  459.  
  460.    I thank members of two tm mailing lists, Japanese and English
  461. version.
  462.  
  463. 
  464. File: tm-edit-en.info,  Node: Concept Index,  Next: Function Index,  Prev: Acknowledgments,  Up: Top
  465.  
  466. Concept Index
  467. *************
  468.  
  469. * Menu:
  470.  
  471. * enclosure:                             mime/editor-mode.
  472. * encoded-word:                          header.
  473. * mime/editor-mode:                      mime/editor-mode.
  474. * multi-part beginning tag:              mime/editor-mode.
  475. * multi-part ending tag:                 mime/editor-mode.
  476. * PGP-kazu:                              PGP.
  477. * PGP/MIME:                              PGP.
  478. * tag:                                   mime/editor-mode.
  479. * tm-edit:                               Introduction.
  480. * transfer level:                        transfer level.
  481.  
  482. 
  483. File: tm-edit-en.info,  Node: Function Index,  Next: Variable Index,  Prev: Concept Index,  Up: Top
  484.  
  485. Function Index
  486. **************
  487.  
  488. * Menu:
  489.  
  490. * mime-eword/encode-string:              API about header.
  491. * mime/encode-field:                     API about header.
  492. * mime/encode-message-header:            API about header.
  493.  
  494. 
  495. File: tm-edit-en.info,  Node: Variable Index,  Prev: Function Index,  Up: Top
  496.  
  497. Variable Index
  498. **************
  499.  
  500. * Menu:
  501.  
  502. * mime-editor/encrypting-type:           PGP.
  503. * mime-editor/signing-type:              PGP.
  504. * mime-editor/transfer-level:            transfer level.
  505. * mime-eword/charset-encoding-alist:     API about header.
  506. * mime-file-types:                       tag specification for inserted file.
  507. * mime/field-encoding-method-alist:      evil setting in header.
  508.  
  509.  
  510. 
  511. Tag Table:
  512. Node: Top118
  513. Node: Introduction799
  514. Node: mime/editor-mode1618
  515. Node: single-part operations2938
  516. Node: enclosure operation3976
  517. Node: other operations of mime/editor-mode4838
  518. Node: tag specification for inserted file5930
  519. Node: transfer level7607
  520. Node: header9240
  521. Node: evil setting in header9858
  522. Node: API about header11455
  523. Node: PGP12666
  524. Node: Acknowledgments13600
  525. Node: Concept Index13948
  526. Node: Function Index14639
  527. Node: Variable Index14960
  528. 
  529. End Tag Table
  530.